package com.scpii.universal.service;

import java.util.List;

import com.scpii.universal.dto.AppContentDto;
import com.scpii.universal.dto.AttributeDto;
import com.scpii.universal.dto.CommentDto;
import com.scpii.universal.dto.PageModuleDetailDto;
import com.scpii.universal.dto.UserInfoDto;
import com.scpii.universal.hibernate.entity.AppDetailPageModuleTab;
import com.scpii.universal.hibernate.entity.CatelogTab;
import com.scpii.universal.hibernate.entity.ContentImgTab;
import com.scpii.universal.hibernate.entity.ContentTab;

/**
 * 
 * universalWeb
 * @author zhangqiang
 * 2012-7-10下午05:21:54
 */
public interface AppContentService extends BaseService<AppContentDto, Integer> {
	/**
	 * 根据id的信息，查找parentId等于当前id的数据有多少条记录
	 * @param id
	 * @return
	 * @author zhangqiang
	 * 2012-7-10上午11:04:15
	 */
	public Integer getCountById(String treeId,Integer appId);
	/**
	 * 根据分类ID获得下属所有分类
	 * @param id
	 * @return
	 * @author zhangqiang
	 * 2012-7-10上午11:05:44
	 */
	public List<AppContentDto> getAppContentById(Integer treeId,Integer id,Integer pageNum,Integer pageSize);
	/**
	 * 根据类容Id 返回所有的属性和属性值信息
	 * @param intContentId
	 * @return
	 * @author zhangqiang
	 * 2012-7-23下午03:04:33
	 */
	public List<AttributeDto> getAttribyteById(Integer intContentId);
	/**
	 * 通过内容ID 获取评论信息
	 * @param intContentId
	 * @return
	 * @author zhangqiang
	 * 2012-7-23下午04:28:48
	 */
	public List<CommentDto> getCommentListById(Integer intContentId);
	/**
	 * 保存新增的内容详情
	 * @param contentTab
	 * @param imgList
	 * @param attList
	 * @author zhangqiang
	 * 2012-7-24下午01:57:25
	 */
	public Integer saveContent(UserInfoDto userInfo,Integer intCateId,ContentTab contentTab,List<ContentImgTab> imgList,List<AttributeDto> attList,String webRoot);
	/**
	 * 返回页面显示的循序和数据页面
	 * @return
	 * @author zhangqiang
	 * 2012-7-25下午01:18:45
	 */
	public List<PageModuleDetailDto> getAppPageSort(List<CatelogTab> cateLogList);
	/**
	 * 根据分类ID 获取最顶级的分类ID
	 * @param intCateId
	 * @return
	 * @author zhangqiang
	 * 2012-7-25下午03:23:39
	 */
	public CatelogTab getParentIntCateId(Integer intCateId);
	/**
	 *获取所有模块
	 * @return
	 * @author zhangqiang
	 * 2012-7-25下午09:44:21
	 */
	public List<AppDetailPageModuleTab> getAllPageModule();
	/**
	 *根据ID 获取页面显示模块和循序
	 * @return
	 * @author zhangqiang
	 * 2012-7-25下午09:44:21
	 */
	public List<AppDetailPageModuleTab> getPageModuleById(Integer intCateId);
	/**
	 * 保存页面模块显示循序
	 * @param modules
	 * @param intCateId
	 * @author zhangqiang
	 * 2012-8-1下午02:37:16
	 */
	public  void updatemodule(String modules,Integer intCateId);
	/**
	 * 保存性情页面编辑的信息
	 * @param intContentId
	 * @param contentTab
	 * @param imgList
	 * @param attList
	 * @param deletedImgIds 
	 * 			要删除的图片
	 * @author zhangqiang
	 * 2012-8-5下午08:19:54
	 */
	public Integer updateContentDetail(Integer intContentId,ContentTab contentTab,List<ContentImgTab> imgList,List<AttributeDto> attList, String deletedImgIds);
	/**
	 * 删除详情信息
	 * @param intContentId
	 * @param isBinded
	 * 			是否被绑定
	 * @author zhangqiang
	 * 2012-8-6上午09:43:27
	 */
	public void deleteContentDetail(Integer intContentId, boolean isBinded);
	/**
	 * 根据分类ID查询所有内容ID
	 * @param cateId
	 * @param pageNo
	 * @param pageSize
	 * @return
	 * @author liuhj
	 * 2012-8-9下午06:11:52
	 */
	public List<ContentTab> getContentIdsByCateId(int cateId, Integer pageNo,Integer pageSize);
	/**
	 * 根据类容Id和分类Id  新增已有详情
	 * @param intCateId
	 * @param intContents
	 * @author zhangqiang
	 * 2012-8-10下午04:28:51
	 */
	public void saveCopyContentDetail(Integer intCateId,String intContents);
	/**
	 * 检测内容是否被页面绑定了
	 * @author Taylor
	 * 2012-9-7 上午09:51:44
	 * @param intContentId
	 * @return
	 * boolean
	 */
	public boolean checkIfContentBinded(Integer intContentId);
}
